package hl.leco.colle.set;

import java.util.*;

/**
 * Set 接口的基本使用
 * 特点：（1）无序，无下标，元素不可重复
 *      （2）方法全部继承自 Collection ，没有自己新增的
 * @author Liu Huan
 */


public class Demo1 {
	public static void main(String[] args) {
		
		//0、创建一个集合对象，使用 HashSet 实现类（Set本身为一个接口，不能创建对象）
		Set<String> set = new HashSet<>();
		//1、添加元素
		set.add("小米");
		set.add("华为");
		set.add("荣耀");
		set.add("三星");
		System.out.println("元素个数：" + set.size());
		System.out.println(set);
		set.add("小米");//重复数据不会被添加
		System.out.println(set);
		//2、删除元素，只能通过元素名，不能通过下标
		set.remove("小米");
		System.out.println(set);
		//3、遍历（两种）
		System.out.println("-------使用 foreach 遍历--------");
		for (String se : set) {
			System.out.println(se);
		}
		System.out.println("-------使用 Iterator 遍历--------");
		Iterator<String> iterator = set.iterator();
		while (iterator.hasNext()){
			System.out.println(iterator.next());
		}
		//4、判断
		System.out.println("是否包含 华为：" + set.contains("华为"));
		System.out.println("是否为空：" + set.isEmpty());
	}
}
